Computer systems typically include bulk storage systems, such as magnetic disk drives, optical storage devices, tape drives, or solid state storage drives, among other storage systems. As storage needs have increased in these computer systems, networked storage systems have been introduced which store large amounts of data in a storage environment physically separate from end user computer devices. These networked storage systems typically provide access to bulk data storage over one or more network interfaces to end users or other external systems. In addition to storage of data, remote computing systems include various processing systems that can provide remote computing resources to end users. These networked storage systems and remote computing systems can be included in high-density installations, such as rack-mounted environments.
However, as the densities of networked storage systems and remote computing systems increase, various physical limitations can be reached. These limitations include density limitations based on the underlying storage technology, such as in the example of large arrays of rotating magnetic media storage systems. These limitations can also include computing density limitations based on the various physical space requirements for network interconnect as well as the large space requirements for environmental climate control systems.
In addition to physical space limitations, these bulk storage systems have been traditionally limited in the number of devices that can be included per host, which can be problematic in storage environments where higher capacity, redundancy, and reliability is desired. These shortcomings can be especially pronounced with the increasing data storage and retrieval needs in networked, cloud, and enterprise environments.
Overview
Systems, methods, apparatuses, and software for data storage systems are provided herein. In one example, a data storage system is provided that includes storage drives each comprising a Peripheral Component Interconnect Express (PCIe) interface, and configured to store data and retrieve the data stored on associated storage media responsive to data transactions received over a switched PCIe fabric. The data storage system includes a plurality of processors configured to each manage only an associated subset of the plurality of storage drives over the switched PCIe fabric, wherein each of the processors is associated with a network interface configured to receive data packets related to the storage operations for any of the plurality of storage drives. A first processor is configured to identify first data packets received over a network interface associated with the first processor within a network buffer of the first processor as comprising a storage operation associated with at least one of the plurality of storage drives managed by a second processor, and responsively transfer the first data packets into a network buffer of the second processor.
In another example, a method of operating a data storage system is provided. The method includes, in a plurality of storage drives, storing data and retrieving the data stored on associated storage media responsive to storage operations received over a PCIe interface. In each of a plurality of processors communicatively coupled to the plurality of storage drives over a PCIe fabric, the method includes managing only an associated subset of the plurality of storage drives over the switched PCIe fabric. In a first processor, the method includes identifying first data packets received over a network interface associated with the first processor within a network buffer of the first processor as comprising a storage operation associated with at least one of the plurality of storage drives managed by a second processor, and responsively transferring the first data packets into a network buffer of the second processor.
In another example, a modular data storage system is provided. The modular data storage system includes a plurality of storage drives each comprising a PCIe interface, and configured to store data and retrieve the data stored on associated storage media responsive to storage operations received over a switched PCIe fabric. The modular data storage system includes a plurality of processing modules comprising one or more processors configured to each manage only an associated subset of the plurality of storage drives over the switched PCIe fabric, wherein each of the processors is associated with a network interface over the switched PCIe fabric configured to receive data packets related to the storage operations for any of the plurality of storage drives. A first processor is configured to identify first data packets received over a network interface associated with the first processor within a layer 2 network buffer of the first processor as comprising a storage operation associated with at least one of the plurality of storage drives managed by a second processor, and responsively transfer over the switched PCIe fabric the first data packets into a layer 2 network buffer of the second processor.